Fix gtk_window_set_opacity()
authorAlexander Larsson <alexl@redhat.com>
Thu, 4 Apr 2013 13:38:40 +0000 (15:38 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 4 Apr 2013 13:42:02 +0000 (15:42 +0200)
We *do* want to call gdk_window_set_opacity() on toplevels, because
this particular case does work.

https://bugzilla.gnome.org/show_bug.cgi?id=697263

gtk/gtkwidget.c

index 174c4e3890f068a7ae453b47062af9bd46442c09..827bd7dcbccf2c5857bd26308294767763bc927a 100644 (file)
@@ -14271,7 +14271,8 @@ gtk_widget_propagate_alpha (GtkWidget *widget)
 
   if (gtk_widget_get_has_window (widget))
     {
-      if (priv->window != NULL && !gdk_window_has_native (priv->window))
+      if (priv->window != NULL &&
+         (!gdk_window_has_native (priv->window) || gtk_widget_is_toplevel (widget)))
        gdk_window_set_opacity (priv->window,
                                norender ? 0 : priv->alpha / 255.0);
     }